package com.ruoyi.framework.condition;

import org.springframework.context.annotation.Condition;
import org.springframework.context.annotation.ConditionContext;
import org.springframework.core.env.Environment;
import org.springframework.core.type.AnnotatedTypeMetadata;

public class CacheCondition implements Condition {
    @Override
    public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
        // 从 Environment 中获取属性
        Environment env = context.getEnvironment();
        String cacheType = env.getProperty("spring.cache.type");

        // 检查 spring.cache.type 是否与 metadata 中的某个值匹配（这里简单比较字符串）
        // 注意：实际应用中可能需要更复杂的逻辑来确定 metadata 中的值
        // 这里我们假设 metadata 中没有特定值，仅根据 cache.type 判断
        // 使用 Redis
        return "redis".equalsIgnoreCase(cacheType);
    }
}
